/**
 * LeetCode1：两数之和
 * 给定一个整数数组nums和一个目标值target，
 * 在该数组中找出和为目标值的两个整数，并返回它们的数组下标
 */

/**
 *
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function (nums,target){
    const map = new Map();
    for (let i = 0; i < nums.length; i++){
        const n = nums[i];
        const n2 = target - n;
        if (map.has(n2)){
            return [map.get(n2),i];
        }else {
            map.set(n,i);
        }
    }
};

//时间复杂度：O(n)
//空间复杂度：O(n)